python list语法学习(带例子)

创建:list = [5,7,9]
取值和改值:list[1] = list[1] * 5
列表尾插入:list.append(4)
去掉第0个值并返回第0个值的数值:list.pop(0)
去掉第0个值但不返回数值:del(list[0])
去掉具体某个值:list.remove(35)

函数function:
无参数:def function():
一个参数:def function(x):
2个参数:def function(y):
任意个参数:def add_function(*args):

函数range:
一个参数:range(n)  从第0位开始数n个位
两个参数:range(m,n) 从第m位开始到第n-1位,递增间隔为1
三个参数:range(m,n,i) 从第m位开始到第n-1位,递增间隔为i
 for item in list:  和 for i in range(len(list)): 等价

对list中的元素用separator作为间隔输出: print separator.join(list)
如: list = ['a','b','c','d']   一般的print list会输出: ['a','b','c','d']。
而 print " ".join(list) 会输出:a b c d(必须是双的双引号,单的双引号不起作用)

接受键盘输入:
guess_row = int(raw_input("Guess Row:"))

下面是一个自己写的小程序:生成一个方阵和随机的位置,叫玩家猜这个生成的位置是哪里


代码如下:

from random import randint
def creat_board(length):
    board = []
    for i in range(length):
        board.append(['O'] * length)
    return board
def print_board(x):
    for row in x:
        print " ".join(row)
def random_row(board):
    return randint(0, len(board) - 1)

def random_col(board):
    return randint(0,len(board[0]) - 1)

length = int(raw_input("Enter board's length you:"))
board = creat_board(length)
print_board(board)
turns = int(raw_input("Enter turns you want to play:"))
for turn in range(turns):
    ship_row = random_row(board)
    ship_col = random_col(board)
    print "This is " + str(turn + 1) + "th time to guess:"
    guess_row = int(raw_input("Enter the row you guess:"))
    guess_col = int(raw_input("Enter the col you guess:"))

if guess_row == ship_row and guess_col == ship_col:
        print "You win!"
        break
    else:
        if (guess_row < 0 or guess_row > len(board) - 1) or (guess_col < 0 or guess_col > len(board) - 1):
            print "Incorrect input!"
            if turn == turns - 1:
                print "Turns out!"
        elif board[guess_row][guess_col] == 'X':
            print "You have guessed it already!"
            if turn == turns - 1:
                print "Turns out!"
        else:
            print "You guess wrong!"
            board[guess_row][guess_col] = 'X'
            print_board(board)
            if turn == turns - 1:
                print "Turns out!"

曾经犯的错误:
1.创建board函数忘记返回一个board,所以它一直为空,导致后面的操作都越界了;
2.生成随机位置的时候,位置row和col的命名一直是跟生成的函数名一样(random_row=random_row(board)),导致TypeError: 'int' object is not callable错误。

(0)

相关推荐

  • Python中列表(list)操作方法汇总

    本文实例汇总了Python中关于列表的常用操作方法,供大家参考借鉴.具体方法如下: 一.Python创建列表: sample_list = ['a',1,('a','b')] 二.Python 列表操作: 假设有如下列表: sample_list = ['a','b',0,1,3] 1.得到列表中的某一个值: value_start = sample_list[0] end_value = sample_list[-1] 2.删除列表的第一个值: del sample_list[0] 3.在列表

  • python里对list中的整数求平均并排序

    问题 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, (1)将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来. (2)将这40个成绩按照从高到低的顺序输出出来. 解决(python) #! /usr/bin python #coding:utf-8 from __future__ import division #实现精确的除法,例如4/3=1.333333 import random def make_scor

  • Python求两个list的差集、交集与并集的方法

    本文实例讲述了Python求两个list的差集.交集与并集的方法.分享给大家供大家参考.具体如下: list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析. 一.两个list差集 如有下面两个数组: a = [1,2,3] b = [2,3] 想要的结果是[1] 下面记录一下三种实现方式: 1. 正常的方式 复制代码 代码如下: ret = [] for i in a:     if i not in b:         ret.append(

  • python中对list去重的多种方法

    今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数.不过这个东西最终还是没用上. 问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变. 直观方法 最简单的思路就是: 复制代码 代码如下: ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids:     if id not in news_ids:         news_ids.append(id) print news_ids

  • python中list循环语句用法实例

    本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list. 实例 复制代码 代码如下: a = ['cat', 'window', 'defenestrate'] for x in a:      print x, len(x) for x in [1, 2, 3]: print x,    

  • Python实现list反转实例汇总

    本文实例总结了Python实现list反转的方法.分享给大家供大家参考.具体实现方法如下: 下面有几个不同实现的函数 复制代码 代码如下: import math   def resv(li):     new = []     if li:         cnt = len(li)         for i in range(cnt):             new.append(li[cnt-i-1])     return new   def resv2(li):     li.re

  • Python中字典(dict)和列表(list)的排序方法实例

    一.对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序 复制代码 代码如下: >>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>> print a[9, 7, 5, 3, 2, 1, 0]>>> b = ['e','a'

  • Python找出list中最常出现元素的方法

    本文实例讲述了Python找出list中最常出现元素的方法.分享给大家供大家参考,具体如下: 假设一个list中保存着各种元素,需要统计每个元素出现的个数,并打印出最常出现的前三个元素分别是什么.list如下: 复制代码 代码如下: word_list =["is","you","are","I","am","OK","is","OK","

  • Python列表list数组array用法实例解析

    本文以实例形式详细讲述了Python列表list数组array用法.分享给大家供大家参考.具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构.   创建列表 复制代码 代码如下: sample_list = ['a',1,('a','b')] Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3] 得到列表中的某一个值 复制代码 代码如下: value_start = sample_list

  • Python 列表(List)操作方法详解

    列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 一.创建一个列表只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示: 复制代码 代码如下: list1

  • python list 合并连接字符串的方法

    比如下面一个list 复制代码 代码如下: binfo = ['lao','wang','python'] 我们通过help方法得知,可以用string的join方法来解决. 下面我们通过空格来连接3个单词: 复制代码 代码如下: content = " ".join(binfo)print content 结果是:lao wang python

随机推荐