列表常用操作:
1.先建立個商品列表
>>> product = ['iphone','xiaomi','meizu']
2.列印列表
>>> product
['iphone', 'xiaomi', 'meizu']
3.追加乙個元素
>>> product.append('samsung')
>>> product
['iphone', 'xiaomi', 'meizu', 'samsung']
4.統計元素在列表**現的次數
>>> product.count('xiaomi')
15.查詢元素索引位置
>>> product.index('meizu')
26.在執行位置插入元素
>>> product.insert(2,'zte')
>>> product
['iphone', 'xiaomi', 'zte', 'meizu', 'samsung']
7.刪除執行位置索引元素,不加索引,預設刪除最後乙個元素
>>> product.pop(2)
'zte'
>>> product
['iphone', 'xiaomi', 'meizu', 'samsung']
8.刪除列表中元素為三星的第乙個元素
>>> product.remove('samsung')
>>> product
['iphone', 'xiaomi', 'meizu']
9.列表元素排序
>>> product.sort()
>>> product
['meizu', 'xiaomi', 'iphone']
>>> product.reverse()
>>> product
['iphone', 'xiaomi', 'meizu']
再建立乙個**列表:
>>> prices = ['5000','2000','1500']
以上兩個列表,就可以通過商品名稱獲取到**,因為他們索引位置是對應的。
例如:>>> prices[product.index('iphone')]
'5000'
由此可見,可以通過乙個for迴圈,可以分別列印商品資訊:
>>> for i in product:
... print i,prices[product.index(i)]
...
iphone 5000
xiaomi 2000
meizu 1500
結合以上列表基本使用,寫出下面這個例項:
使用者輸入工資金額,選擇購買的商品(金額不夠買的商品,做出提示)
購買後商品先加入購物車,最後輸出都買了什麼商品
建立個測試文字,也可以直接寫到列表裡面:
# cat shop.txt
iphone 5000
xiaomi 2000
meizu 1500
# vi shop_list.py
#!/usr/bin/env python
# coding:utf8
import sys
f = open('shop.txt')
product =
prices =
shop_list =
flag = 0 #標記
flag2 = 0
for line in f.readlines():
new_line = line.split()
product.append(new_line[0]) #迴圈將第乙個索引位置值追加列表product
prices.append(int(new_line[1])) #迴圈第二個索引位置值追加列表prices
#print product,'\n',prices
while true:
for pp in product:
if flag2 != 1:print pp,'\t',prices[product.index(pp)] #判斷下面flag2變數值,是否列印商品資訊
while true:
try:
if flag == 1: #判斷上次執**況,如果已經執行,就不再提示輸入工資
break
else:
salary = int(raw_input('請輸入您的工資: '))
break
except exception:
print "工資只能輸入數字!"
if salary < min(prices): #內建函式min()判斷列表中最小值
print "對不起,您的工資買不起任何商品!"
break
choise_product = raw_input('請輸入您要購買的商品名稱: ').strip() #strip()函式去空格
if choise_product in product:
product_prices = prices[product.index(choise_product)] #通過輸入的商品位置來找到商品**
if salary >= product_prices:
print "您已成功購買%s,並加入購物車." %choise_product
shop_list.append(choise_product)
salary = salary - product_prices #工資減去現在商品的**
if salary < min(prices): #判斷當前剩餘工資是否小於最低價的商品
print "對不起,剩餘%d元,已買不起任何商品!" %salary
print "購物車:%s" %shop_list
sys.exit()
else:
print "您還剩餘%d元,還可以購買以下商品: " %salary
for product_prices in prices:
if product_prices <= salary: #列印剩餘的錢數小於或等於列表的元素
print product[prices.index(product_prices)],'\t',product_prices
flag = 1 #用於判斷是否執行上面命令,不再下次提示輸入工資。以下flag都是如此
flag2 = 1 #用於判斷是否執行上面命令,如果執行,就不再列印商品資訊
else:
print "您的工資買不起%s! 請重新選擇商品:" %choise_product
flag = 1
else:
print '\033[31;1m沒有您要的商品! 請重新選擇: \033[0m'
flag = 1
flag2 = 2 #非1都可以。如果等於1,第二次輸入購買的商品名稱錯誤,將不列印商品資訊,因為flag2變數已經在上面賦值了1
python list列表 元組
一.切片 1.切片取值list 顧頭不顧尾 2.如果第乙個範圍不寫的話,從第乙個元素開始取,預設的是0 3.如果切片的的範圍不寫的話代表去到結尾 4.開頭和結尾的下標都不寫的話,代表去整個list 5.1代表最後乙個元素 6.切片同樣應用於字串 2.列表分片的步長 隔幾個取一次 步長為負數時,相當於...
python顏色列表 Python list 列表
定義乙個空列表 namelist namelist 小張 小王 小李 list0 3,小鄭 列表中的每一項可以是不同的資料型別 列表的遍歷 for name in namellst print name flag 0 while flag len namelist print flag 將乙個列表連...
python list 內嵌列表轉為一維列表
只能是內嵌列表,如果改為 a 1,2,3 4,5,6 7 8,9 10 則無法實現 import itertools a 1,2,3 4,5,6 7 8,9 out list itertools.chain.from iterable a print out 1,2,3,4,5,6,7,8,9 只能...